package com.xiaoluo.lottery.common.weixin.pay.beans;

import com.xiaoluo.lottery.common.weixin.base.BaseRes;
import org.simpleframework.xml.Element;
import org.simpleframework.xml.Root;

/**
 * Project : lottery
 * Package : main.java.com.xiaoluo.lottery.common.weixin.pay.enums
 * Created by Willian.
 * Date  : 2016/4/6 14:38.
 */
@Root(name = "xml")
public class RefundQueryRes extends BaseRes {


    @Element(name = "transaction_id", required = false)
    private String transactionId;                             //微信订单号	是	String(32)	1217752501201407033233368018	微信订单号
    @Element(name = "out_trade_no", required = false)
    private String outTradeNo;                               //商户订单号	是	String(32)	1217752501201407033233368018	商户系统内部的订单号
    @Element(name = "total_fee", required = false)
    private String totalFee;                                  //订单总金额	是	Int	100	订单总金额，单位为分，只能为整数，详见支付金额
    @Element(name = "fee_type", required = false)
    private String feeType;                                   //订单金额货币种类	否	String(8)	CNY	订单金额货币类型，符合ISO 4217标准的三位字母代码，默认人民币：CNY，其他值列表详见货币类型
    @Element(name = "cash_fee", required = false)
    private String cashFee;                                   //现金支付金额	是	Int	100	现金支付金额，单位为分，只能为整数，详见支付金额
    @Element(name = "refund_count", required = false)
    private String refundCount;                               //退款笔数	是	Int	1	退款记录数
    @Element(name = "out_refund_no_$n", required = false)
    private String outRefundNo$n;                           //商户退款单号	是	String(32)	1217752501201407033233368018	商户退款单号
    @Element(name = "refund_id_$n", required = false)
    private String refundId$n;                               //微信退款单号	是	String(28)	1217752501201407033233368018	微信退款单号
    @Element(name = "refund_channel_$n", required = false)
    private String refundChannel$n;                          //退款渠道	否	String(16)	ORIGINAL      —原路退款   ;//ORIGINAL    —退回到余额  ;//BALANCE
    @Element(name = "refund_fee_$n", required = false)
    private String refundFee$n;                              //退款金额	是	Int	100	退款总金额,单位为分,可以做部分退款
    @Element(name = "coupon_refund_fee_$n", required = false)
    private String couponRefundFee$n;                       //代金券或立减优惠退款金额	否	Int	100	代金券或立减优惠退款金额<=退款金额，退款金额-代金券或立减优惠退款金额为现金，说明详见代金券或立减优惠
    @Element(name = "coupon_refund_count_$n", required = false)
    private String couponRefundCount$n;                     //代金券或立减优惠使用数量	否	Int	1	代金券或立减优惠使用数量 ,$n为下标,从0开始编号
    @Element(name = "coupon_refund_batch_id_$n_$m", required = false)
    private String couponRefundBatchId$n$m;               //代金券或立减优惠批次ID	否	String(20)	100	批次ID ,$n为下标，$m为下标，从0开始编号
    @Element(name = "coupon_refund_id_$n_$m", required = false)
    private String couponRefundId$n$m;                     //代金券或立减优惠ID	否	String(20)	10000 	代金券或立减优惠ID, $n为下标，$m为下标，从0开始编号
    @Element(name = "coupon_refund_fee_$n_$m", required = false)
    private String couponRefundFee$n$m;                    //单个代金券或立减优惠支付金额	否	Int	100	单个代金券或立减优惠支付金额, $n为下标，$m为下标，从0开始编号
    @Element(name = "refund_status_$n", required = false)
    private String refundStatus$n;                           //退款状态	是	String(16)	SUCCESS    退款状态：    SUCCESS—退款成功    FAIL—退款失败    PROCESSING—退款处理中    NOTSURE—未确定，需要商户原退款单号重新发起    CHANGE—转入代发，退款到银行发现用户的卡作废或者冻结了，导致原路退款银行卡失败，资金回流到商户的现金帐号，需要商户人工干预，通过线下或者财付通转账的方式进行退款。
    @Element(name = "refund_recv_accout_$n", required = false)
    private String refundRecvAccout$n;                      //退款入账账户	是	String(64)	招商银行信用卡0403	取当前退款单的退款入账方    1）退回银行卡：    {银行名称}{卡类型}{卡尾号}    2）退回支付用户零钱:    支付用户零钱

    public String getTransactionId() {
        return transactionId;
    }

    public void setTransactionId(String transactionId) {
        this.transactionId = transactionId;
    }

    public String getOutTradeNo() {
        return outTradeNo;
    }

    public void setOutTradeNo(String outTradeNo) {
        this.outTradeNo = outTradeNo;
    }

    public String getTotalFee() {
        return totalFee;
    }

    public void setTotalFee(String totalFee) {
        this.totalFee = totalFee;
    }

    public String getFeeType() {
        return feeType;
    }

    public void setFeeType(String feeType) {
        this.feeType = feeType;
    }

    public String getCashFee() {
        return cashFee;
    }

    public void setCashFee(String cashFee) {
        this.cashFee = cashFee;
    }

    public String getRefundCount() {
        return refundCount;
    }

    public void setRefundCount(String refundCount) {
        this.refundCount = refundCount;
    }

    public String getOutRefundNo$n() {
        return outRefundNo$n;
    }

    public void setOutRefundNo$n(String outRefundNo$n) {
        this.outRefundNo$n = outRefundNo$n;
    }

    public String getRefundId$n() {
        return refundId$n;
    }

    public void setRefundId$n(String refundId$n) {
        this.refundId$n = refundId$n;
    }

    public String getRefundChannel$n() {
        return refundChannel$n;
    }

    public void setRefundChannel$n(String refundChannel$n) {
        this.refundChannel$n = refundChannel$n;
    }

    public String getRefundFee$n() {
        return refundFee$n;
    }

    public void setRefundFee$n(String refundFee$n) {
        this.refundFee$n = refundFee$n;
    }

    public String getCouponRefundFee$n() {
        return couponRefundFee$n;
    }

    public void setCouponRefundFee$n(String couponRefundFee$n) {
        this.couponRefundFee$n = couponRefundFee$n;
    }

    public String getCouponRefundCount$n() {
        return couponRefundCount$n;
    }

    public void setCouponRefundCount$n(String couponRefundCount$n) {
        this.couponRefundCount$n = couponRefundCount$n;
    }

    public String getCouponRefundBatchId$n$m() {
        return couponRefundBatchId$n$m;
    }

    public void setCouponRefundBatchId$n$m(String couponRefundBatchId$n$m) {
        this.couponRefundBatchId$n$m = couponRefundBatchId$n$m;
    }

    public String getCouponRefundId$n$m() {
        return couponRefundId$n$m;
    }

    public void setCouponRefundId$n$m(String couponRefundId$n$m) {
        this.couponRefundId$n$m = couponRefundId$n$m;
    }

    public String getCouponRefundFee$n$m() {
        return couponRefundFee$n$m;
    }

    public void setCouponRefundFee$n$m(String couponRefundFee$n$m) {
        this.couponRefundFee$n$m = couponRefundFee$n$m;
    }

    public String getRefundStatus$n() {
        return refundStatus$n;
    }

    public void setRefundStatus$n(String refundStatus$n) {
        this.refundStatus$n = refundStatus$n;
    }

    public String getRefundRecvAccout$n() {
        return refundRecvAccout$n;
    }

    public void setRefundRecvAccout$n(String refundRecvAccout$n) {
        this.refundRecvAccout$n = refundRecvAccout$n;
    }
}
